import time

# 初始化玩家信息
player = {
    "金币": 100,
    "土地": [None] * 3  # 假设有 3 块土地
}

# 作物信息
crops = {
    "胡萝卜": {
        "价格": 20,
        "生长时间": 3,  # 单位：秒
        "收获价值": 50
    },
    "白菜": {
        "价格": 15,
        "生长时间": 2,
        "收获价值": 40
    }
}


def show_status():
    print(f"当前金币: {player['金币']}")
    for i, crop in enumerate(player['土地']):
        if crop:
            print(f"第 {i + 1} 块土地种着 {crop}")
        else:
            print(f"第 {i + 1} 块土地空闲")


def plant(crop_name, land_index):
    if player["金币"] < crops[crop_name]["价格"]:
        print("金币不足，无法购买种子。")
        return
    if player["土地"][land_index]:
        print("这块土地已经种了作物，不能重复种植。")
        return
    player["金币"] -= crops[crop_name]["价格"]
    player["土地"][land_index] = crop_name
    print(f"成功在第 {land_index + 1} 块土地种下 {crop_name}。")
    print(f"{crop_name} 开始生长...")
    time.sleep(crops[crop_name]["生长时间"])
    print(f"{crop_name} 已成熟，可以收获啦！")


def harvest(land_index):
    crop = player["土地"][land_index]
    if not crop:
        print("这块土地没有种植作物，无法收获。")
        return
    player["金币"] += crops[crop]["收获价值"]
    player["土地"][land_index] = None
    print(f"成功收获 {crop}，获得 {crops[crop]['收获价值']} 金币。")


while True:
    show_status()
    print("\n请选择操作：")
    print("1. 播种")
    print("2. 收获")
    print("3. 退出游戏")
    choice = input("输入选项编号：")

    if choice == "1":
        print("可种植的作物有：", list(crops.keys()))
        crop_name = input("请输入要种植的作物名称：")
        if crop_name not in crops:
            print("没有这种作物，请重新选择。")
            continue
        land_index = int(input("请输入要种植的土地编号（1 - 3）：")) - 1
        if 0 <= land_index < len(player["土地"]):
            plant(crop_name, land_index)
        else:
            print("无效的土地编号，请重新输入。")
    elif choice == "2":
        land_index = int(input("请输入要收获的土地编号（1 - 3）：")) - 1
        if 0 <= land_index < len(player["土地"]):
            harvest(land_index)
        else:
            print("无效的土地编号，请重新输入。")
    elif choice == "3":
        print("游戏结束，你最终拥有的金币为:", player["金币"])
        break
    else:
        print("无效的选项，请重新输入。")